package com.fowo.api.sms.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Map;

/**
 * 提供短信服务配置
 */
@Data
@ConfigurationProperties(prefix = "sms-service")
public class SmsServiceProperties {
    /**
     * 表示验证码的场景值
     */
    public static final String SCENE_VerificationCodeTemplate = "code";

    /**
     * 签名
     */
    private String sign;

    /**
     * 访问键
     */
    private String accessKeyId;

    /**
     * 访问键密钥
     */
    private String accessKeySecret;

    /**
     * 短信场景配置
     */
    private Map<String, SmsSceneTemplate> scenes;

    /**
     * 获取用于验证码的场景模版
     */
    public SmsSceneTemplate getVerificationCodeTemplate() {
        return scenes.get(SCENE_VerificationCodeTemplate);
    }

    /**
     * 短信场景模版
     */
    @Data
    public static class SmsSceneTemplate {
        /**
         * 模版Code
         */
        private String templateCode;

        /**
         * 系统内部参数名与此模版中的参数名的对应关系
         */
        private Map<String, String> paramNameMaps;
    }
}
